package Code

func IsAnagram(s, t string) bool {
	if len(s) != len(t) {
		return false
	}
	sm := [26]int{}
	tm := [26]int{}
	for i := 0; i < len(s); i++ {
		sm[s[i]-97]++
		tm[t[i]-97]++
	}

	return sm == tm
}

//func IsAnagram(s, t string) bool {
//	if len(s) != len(t) {
//		return false
//	}
//	bs := []byte(s)
//	ts := []byte(t)
//	qs(bs, 0, len(bs)-1)
//	qs(ts, 0, len(ts)-1)
//	return string(bs)==string(ts)
//}
//func partition(li []byte, left, right int) (mid int) {
//	tmpMid := (left + right) / 2
//	li[left], li[tmpMid] = li[tmpMid], li[left]
//	tmp := li[left]
//	for left < right {
//		for left < right && li[right] >= tmp {
//			right -= 1
//		}
//		li[left] = li[right]
//		for left < right && li[left] <= tmp {
//			left += 1
//		}
//		li[right] = li[left]
//	}
//	li[left] = tmp
//	mid = left
//	return mid
//}
//func qs(li []byte, left, right int) {
//	if left < right {
//		mid := partition(li, left, right)
//		qs(li, left, mid-1)
//		qs(li, mid+1, right)
//	}
//}
